home *** CD-ROM | disk | FTP | other *** search
- 'Este programa obtiene la función de Mandelbrot
-
- SCREEN 12
-
- 'Constantes
- nph% = 480 'Número de pixels horizontales
- npv% = 480 'Número de pixels verticales
-
- 'Se introducen variables
- INPUT "Primera coordenada horizontal"; x1!
- INPUT "Segunda coordenada horizontal"; x2!
- INPUT "Primera coordenada vertical"; y1!
- INPUT "Segunda coordenada vertical"; y2!
-
- CLS
-
- 'Se selecciona la porción a mostrar según las coordenadas introducidas
- vanox! = (x2! - x1!) / nph%
- vanoy! = (y2! - y1!) / npv%
- a! = x1!
-
- FOR k% = 1 TO nph%
- a! = a! + vanox!
- b! = y2!
- FOR j% = 1 TO npv%
- b! = b! - vanoy!
- x! = 0
- y! = 0
- n% = 0
- DO WHILE (n% < 100) AND (x! * x! + y! * y! < 4)
- xx! = x! * x! - y! * y! + a! 'El bucle principal,
- y! = 2 * x! * y! + b! 'donde se calcula que
- x! = xx! 'puntos escapan y
- n% = n% + 1 'cuales quedan confinados
- LOOP
- IF n% < 3.5 THEN
- cpunto% = 11 'Se seleccionan
- ELSEIF n% < 5 THEN
- cpunto% = 9 'los colores de
- ELSEIF n% < 6 THEN
- cpunto% = 1 'cada punto
- ELSEIF n% < 9 THEN
- cpunto% = 13 'según el valor
- ELSEIF n% < 15 THEN
- cpunto% = 5 'que toma n
- ELSEIF n% < 20 THEN
- cpunto% = 4 'al salir del
- ELSEIF n% < 26 THEN
- cpunto% = 12 'bucle. Los colores
- ELSEIF n% < 35 THEN
- cpunto% = 2 'se pueden modificar
- ELSEIF n% < 45 THEN
- cpunto% = 14 'a gusto de
- ELSEIF n% < 60 THEN
- cpunto% = 7 'cada cual
- ELSE cpunto% = 8
- END IF
-
- 'Se imprime cada punto
- IF x! * x! + y! * y! > 4 THEN PSET (k%, j%), cpunto%
- NEXT
- NEXT
-
-
-